# config用来存储配置文件
#   2.将配置比如数据库等配置文件都写在Config类中
from redis import StrictRedis


class Config(object):
    # 调试Debug模式
    DEBUG = False
    # 3添加数据库
    # 数据库的配置信息
    SQLALCHEMY_DATABASE_URI = 'mysql://root:Higr3e4bznywvs8uln8h0@127.0.0.1:3306/test'
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    # 4 redis配置
    REDIS_HOST = "192.168.1.110"
    REDIS_PORT = 7000
    # 6 配置session存到redis数据库中
    """工程配置信息"""
    SECRET_KEY = "EjpNVSNQTyGi1VvWECj9TvC/+kq3oujee2kTfQUs8yCM6xX9Yjq52v54g+HVoknA"
    ...
    # flask_session的配置信息
    SESSION_TYPE = "redis"  # 指定 session 保存到 redis 中
    SESSION_USE_SIGNER = True  # 让 cookie 中的 session_id 被加密签名处理
    SESSION_PERMANENT = False  # 如果设置为True，则关闭浏览器session就失效。
    SESSION_REDIS = StrictRedis(host=REDIS_HOST, port=REDIS_PORT)  # 使用 redis 的实例 这是用来保存session存储到redis连接字符串
    PERMANENT_SESSION_LIFETIME = 86400  # session 的有效期，单位是秒


# 要去区分上线和开发版本

# 开发模式
class DevelopementConfig(Config):
    DEBUG = True


# 上线模式
class ProductionConfig(Config):
    DEBUG = False


# 创建一个工厂模式
config = {
    'dev': DevelopementConfig,
    'production': ProductionConfig
}
